package com.fira.edu.mapper;

import java.util.List;
import com.fira.edu.domain.EduClassRollCall;
import com.fira.edu.domain.dto.CourseRollCallQueryDTO;
import com.fira.edu.domain.dto.StudentRollCallCountDTO;
import com.fira.edu.domain.vo.ClassStudentRollCallVO;

/**
 * 上课点名记录Mapper接口
 * 
 * @author zhushuyong
 * @date 2021-10-12
 */
public interface EduClassRollCallMapper 
{
    /**
     * 查询上课点名记录
     * 
     * @param id 上课点名记录ID
     * @return 上课点名记录
     */
    public EduClassRollCall selectEduClassRollCallById(String id);

    /**
     * 查询上课点名记录列表
     * 
     * @param eduClassRollCall 上课点名记录
     * @return 上课点名记录集合
     */
    public List<EduClassRollCall> selectEduClassRollCallList(EduClassRollCall eduClassRollCall);

    /**
     * 新增上课点名记录
     * 
     * @param eduClassRollCall 上课点名记录
     * @return 结果
     */
    public int insertEduClassRollCall(EduClassRollCall eduClassRollCall);

    /**
     * 修改上课点名记录
     * 
     * @param eduClassRollCall 上课点名记录
     * @return 结果
     */
    public int updateEduClassRollCall(EduClassRollCall eduClassRollCall);

    /**
     * 删除上课点名记录
     * 
     * @param id 上课点名记录ID
     * @return 结果
     */
    public int deleteEduClassRollCallById(String id);

    /**
     * 批量删除上课点名记录
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteEduClassRollCallByIds(String[] ids);

    /**
     * 小程序-查询班级课程学生信息
     * @param dto
     * @return
     */
    public List<ClassStudentRollCallVO> selectClassStudentRollCall(CourseRollCallQueryDTO dto);

    /**
     * 查询学生到课统计数量
     * @param studentRollCallCountDTO
     * @return
     */
    public Integer selectStudentRollCallCount(StudentRollCallCountDTO studentRollCallCountDTO);

    /**
     * 查询未生成通知消息的点名信息
     * @return
     */
    public List<EduClassRollCall> selectRollCallForMsg();
}
